package com.yidu.hbats.service.attachment;

import com.yidu.hbats.model.AtsAttachment;
import com.yidu.hbats.model.AtsAttachmentEmp;

import com.yidu.hbats.model.AtsSchemeAudit;

import com.yidu.utils.Pages;
import com.yidu.utils.Time;

import java.util.List;

public interface AtsAttachmentService {
    int deleteByPrimaryKey(Integer attachId);

    int insert(AtsAttachment record);

    int insertSelective(AtsAttachment record,List<AtsAttachmentEmp> atsAttachmentEmps);

    AtsAttachment selectByPrimaryKey(Integer attachId);

    int updateByPrimaryKeySelective(AtsAttachment record,List<AtsAttachmentEmp> atsAttachmentEmps);

    int updateByAtsAttachment(AtsAttachment record);

    int updateByPrimaryKey(AtsAttachment record);

    List<AtsAttachment> findAll(AtsAttachment record);

    int updateAuditState (AtsAttachment record,AtsSchemeAudit atsSchemeAudit);

    /**
     * 查询所有
     * @param attachment 查询条件
     * @param page 查询页码
     * @param time 查询时间
     * @return 附件表数据
     */
    List<AtsAttachment> selectAll(Time time,Pages page,AtsAttachment attachment);

    /**
     * 查询总行数
     * @param atsAttachment
     * @return
     */
    int selectCount(AtsAttachment atsAttachment, Time time);

    /**
     * 查询所有审核完成数据
     * @param atsAttachment 查询条件
     * @param page 查询页码
     * @param time 查询时间
     * @return 附件表数据
     */
    List<AtsAttachment> selectCheckAll( Time time,Pages page,AtsAttachment atsAttachment);

    /**
     * 查询审核完成总行数
     * @param atsAttachment
     * @return
     */
    int selectCheckCount( AtsAttachment atsAttachment, Time time);

    /**
     * 查询所有审核完成数据
     * @param atsAttachment 查询条件
     * @param page 查询页码
     * @param time 查询时间
     * @return 附件表数据
     */
    List<AtsAttachment> selectLookAll(String userId, Time time,Pages page, AtsAttachment atsAttachment);

    /**
     * 查询审核完成总行数
     * @param atsAttachment
     * @return
     */
    int selectLookCount(String userId,AtsAttachment atsAttachment,Time time);


}
